"use client";
import Link from "next/link";
import BoottmBtn from "./bottomBtn";
import InpAndBtn from "./inpAndBtn";

import { Fragment, useState, memo, useRef } from "react";
import { usePathname } from "next/navigation";

// (09:23:00)
export default () => {
  // 一个初始化的数组【1，2】（08:48:00）
  const [oneHomeNum, setOneHomeNum] = useState<number[]>([1, 2]);
  const [toPageId, setToPageId] = useState<string>("");
  const pathnamwe = usePathname();
  if (toPageId === "999") {
    throw new Error(toPageId);
  }
  const HeadDisplay = memo(({ nummm }: { nummm: number[] }) => {
    return <p>{nummm.join(" , ")}</p>;
  });

  const postRef = useRef<{ focusAddComment: () => void }>(null);
  return (
    <Fragment>
      {/* 是一个主页（09:23:00） */}
      <HeadDisplay nummm={oneHomeNum} />
      {/* 是一个组件（09:28:00）这里提到输入框这部分按钮是一个组件，但是没有提到这个Link，那么Link默认是在page页面 */}
      {/* 这里很奇怪为什么要排出Link，单独把输入框和按钮作为一个组件，也许有他的用意 */}
      <InpAndBtn setToPageId={setToPageId} ref={postRef}>
        <Link href={`${pathnamwe}/${toPageId}`}>to c/id</Link>
      </InpAndBtn>
      {/* 是一个组件 */}
      <div style={{ marginTop: "30px" }}>
        <BoottmBtn
          setNumSta={setOneHomeNum}
          getOneHomeNum={oneHomeNum}
          inpRef={postRef}
        />
      </div>
    </Fragment>
  );
};
